Day 25-Pandas & U.S States Game [Hard]


Posted by pei_______ on 2022-05-05

learning from 100 Days of Code: The Complete Python Pro Bootcamp for 2022


pandas documentation

pandas API reference


Read csv by pandas

data = pandas.read_csv("weather_data.csv")
print(data["temp"])
print(type(data)) # frame.DataFrame
print(type(data["temp"])) # series.Series

Create data as list or dic

data_dict = data.to_dict()
temp_list = data["temp"].to_list()

Calculate data

print(data["temp"].max())
print(data.temp.mean())

Get data in row

print(data["condition"])
print(data.condition)

Get data in row

print(data[data.day == "Monday"])
print(data[data.temp == data.temp.max()])

Use the data in list

monday = data[data.day == "Monday"]
print(int(monday.temp) * 9 / 5 + 32)

Create a dataframe from scratch

data_dic ={
    "students": ["Amy", "James", "Penny"],
    "scores": [76, 56, 65]
}

data = pandas.DataFrame(data_dic)
print(data)

Create a csv from dataframe
data.to_csv("new_data.csv")


Anylyse the colors of squirrel

# Anylyse the colors of squirrel

import pandas

data = pandas.read_csv("2018_Central_Park_Squirrel_Census_-_Squirrel_Data.csv")
fur_color = data["Primary Fur Color"]

gray_color_count = len(data[fur_color == "Gray"])
red_color_count = len(data[fur_color == "Cinnamon"])
black_color_count = len(data[fur_color == "Black"])

data_dic = {
    "Fur color": ["Gray", "Cinnamon", "Black"],
    "counts": [gray_color_count, red_color_count, black_color_count]
}

fur_color_count = pandas.DataFrame(data_dic)
fur_color_count.to_csv("Color_of_squirrel.csv")

U.S States Game

# U.S States Game

import turtle
import pandas

screen = turtle.Screen()
screen.title("U.S States Game")
image = "blank_states_img.gif"
screen.addshape(image)
turtle.shape(image)


data = pandas.read_csv("50_states.csv")
answer = turtle.Turtle()
answer.hideturtle()
answer.penup()


def print_the_answer(answer_name):
    x = int(data[data.state == answer_name].x)
    y = int(data[data.state == answer_name].y)
    answer.goto(x=x+3, y=y-3)
    answer.write(arg=answer_name, align="center", font=("Verdana", 15, "normal"))


right_answer = []

while len(right_answer) < 50:

    answer_state = screen.textinput(title=f"({len(right_answer)}/50) States Correct",
                                    prompt="What's another State's name? ").title()
    if answer_state == "Exit":
        missing_state = []
        for state in data.state:
            if state not in right_answer:
                missing_state.append(state)
        new_data = pandas.DataFrame(missing_state)
        new_data.to_csv("states_to_learn.csv")
        break
    for state in data.state:
        if answer_state == state and answer_state not in right_answer:
            print_the_answer(answer_state)
            right_answer.append(answer_state)

#Python #課堂筆記 #100 Days of Code







Related Posts

Day 107

Day 107

如何做響應式排版

如何做響應式排版

Introduction to gRPC

Introduction to gRPC


Comments